/**
 * 存储登录人数据
 */
import { userAccountLoginApi } from '@/api/user'
export default {
  namespaced: true,
  state: {
    // 个人信息
    profile: {
      id: '',
      avatar: '',
      nickname: '',
      account: '',
      mobile: '',
      token: ''
    }
  },
  mutations: {
    /**
     *
     * @param {*} state 所有变量
     * @param {*} profile 载荷（参数）
     */
    setProfile (state, profile) {
      state.profile = profile
    },
    delProfile (state) {
      state.profile = {}
    }
  },
  actions: {
    /**
     * 登录请求
     * @param {*} param0
     * @param {*} formData 登录表单数据
     */
    async loginAction ({ commit }, formData) {
      const { data } = await userAccountLoginApi(formData)
      console.log('登陆成功：', data)
      commit('setProfile', data)
    },
    /**
     *
     * @param {*} param0
     */
    logoutAction ({ commit }) {
      // 如果有后台接口在这里调用
      // 删除用户数据
      commit('delProfile')
      // 清空本地购物车商品列表
      // 说明❓：{ root: true } 设置跨模块调用
      commit('cart/setList', [], { root: true })
    }
  }
}
